/*
 * My97 DatePicker 4.8
 * License: http://www.my97.net/license.asp
 */
var $dp, WdatePicker;
(function() {
    var l = {
        $langList: [
            { name: "en", charset: "UTF-8" },
            { name: "zh-cn", charset: "gb2312" },
            { name: "zh-tw", charset: "GBK" }
        ],
        $skinList: [
            { name: "default", charset: "gb2312" },
            { name: "whyGreen", charset: "gb2312" },
            { name: "blue", charset: "gb2312" },
            { name: "green", charset: "gb2312" },
            { name: "simple", charset: "gb2312" },
            { name: "ext", charset: "gb2312" },
            { name: "blueFresh", charset: "gb2312" },
            { name: "twoer", charset: "gb2312" },
            { name: "YcloudRed", charset: "gb2312" }
        ],
        $wdate: true,
        $crossFrame: false,
        $preLoad: false,
        $dpPath: "",
        doubleCalendar: false,
        enableKeyboard: true,
        enableInputMask: true,
        autoUpdateOnChanged: null,
        weekMethod: "MSExcel",
        position: {},
        lang: "auto",
        skin: "default",
        dateFmt: "yyyy-MM-dd",
        realDateFmt: "yyyy-MM-dd",
        realTimeFmt: "HH:mm:ss",
        realFullFmt: "%Date %Time",
        minDate: "0001-01-01 00:00:00",
        maxDate: "9999-12-31 23:59:59",
        minTime: "00:00:00",
        maxTime: "23:59:59",
        startDate: "",
        alwaysUseStartDate: false,
        yearOffset: 1911,
        firstDayOfWeek: 0,
        isShowWeek: false,
        highLineWeekDay: true,
        isShowClear: true,
        isShowToday: true,
        isShowOK: true,
        isShowOthers: true,
        readOnly: false,
        errDealMode: 0,
        autoPickDate: null,
        qsEnabled: true,
        autoShowQS: false,
        hmsMenuCfg: { H: [1, 6], m: [5, 6], s: [15, 4] },

        opposite: false,
        specialDates: null,
        specialDays: null,
        disabledDates: null,
        disabledDays: null,
        onpicking: null,
        onpicked: null,
        onclearing: null,
        oncleared: null,
        ychanging: null,
        ychanged: null,
        Mchanging: null,
        Mchanged: null,
        dchanging: null,
        dchanged: null,
        Hchanging: null,
        Hchanged: null,
        mchanging: null,
        mchanged: null,
        schanging: null,
        schanged: null,
        eCont: null,
        vel: null,
        elProp: "",
        errMsg: "",
        quickSel: [],
        has: {},
        getRealLang: function() { var d = l.$langList; for (var e = 0; e < d.length; e++) { if (d[e].name == this.lang) { return d[e] } } return d[0] }
    };
    WdatePicker = g;
    var n = window,
        i = { innerHTML: "" },
        z = "document",
        B = "documentElement",
        H = "getElementsByTagName",
        E, u, h, f, D;
    var v = navigator.appName;
    if (v == "Microsoft Internet Explorer") { h = true } else { if (v == "Opera") { D = true } else { f = true } }
    u = l.$dpPath || q();
    if (l.$wdate) { m(u + "skin/WdatePicker.css") }
    E = n;
    if (l.$crossFrame) { try { while (E.parent != E && E.parent[z][H]("frameset").length == 0) { E = E.parent } } catch (y) {} }
    if (!E.$dp) { E.$dp = { ff: f, ie: h, opera: D, status: 0, defMinDate: l.minDate, defMaxDate: l.maxDate } }
    b();
    if (l.$preLoad && $dp.status == 0) { k(n, "onload", function() { g(null, true) }) }
    if (!n[z].docMD) { k(n[z], "onmousedown", s, true);
        n[z].docMD = true }
    if (!E[z].docMD) { k(E[z], "onmousedown", s, true);
        E[z].docMD = true }
    k(n, "onunload", function() { if ($dp.dd) { r($dp.dd, "none") } });

    function b() { try { E[z], E.$dp = E.$dp || {} } catch (I) { E = n;
            $dp = $dp || {} } var w = { win: n, $: function(e) { return (typeof e == "string") ? n[z].getElementById(e) : e }, $D: function(J, e) { return this.$DV(this.$(J).value, e) }, $DV: function(J, e) { if (J != "") { this.dt = $dp.cal.splitDate(J, $dp.cal.dateFmt); if (e) { for (var L in e) { if (this.dt[L] === undefined) { this.errMsg = "invalid property:" + L } else { this.dt[L] += e[L]; if (L == "M") { var M = e.M > 0 ? 1 : 0; var K = new Date(this.dt.y, this.dt.M, 0).getDate();
                                    this.dt.d = Math.min(K + M, this.dt.d) } } } } if (this.dt.refresh()) { return this.dt } } return "" }, show: function() { var K = E[z].getElementsByTagName("div"),
                    J = 100000; for (var e = 0; e < K.length; e++) { var L = parseInt(K[e].style.zIndex); if (L > J) { J = L } }
                this.dd.style.zIndex = J + 2;
                r(this.dd, "block");
                r(this.dd.firstChild, "") }, unbind: function(e) { e = this.$(e); if (e.initcfg) { t(e, "onclick", function() { g(e.initcfg) });
                    t(e, "onfocus", function() { g(e.initcfg) }) } }, hide: function() { r(this.dd, "none") }, attachEvent: k }; for (var d in w) { E.$dp[d] = w[d] }
        $dp = E.$dp }

    function k(I, J, w, d) { if (I.addEventListener) { var e = J.replace(/on/, "");
            w._ieEmuEventHandler = function(K) { return w(K) };
            I.addEventListener(e, w._ieEmuEventHandler, d) } else { I.attachEvent(J, w) } }

    function t(w, I, e) { if (w.removeEventListener) { var d = I.replace(/on/, "");
            e._ieEmuEventHandler = function(J) { return e(J) };
            w.removeEventListener(d, e._ieEmuEventHandler, false) } else { w.detachEvent(I, e) } }

    function C(w, e, d) { if (typeof w != typeof e) { return false } if (typeof w == "object") { if (!d) { for (var I in w) { if (typeof e[I] == "undefined") { return false } if (!C(w[I], e[I], true)) { return false } } } return true } else { if (typeof w == "function" && typeof e == "function") { return w.toString() == e.toString() } else { return w == e } } }

    function q() { var I, w, d = n[z][H]("script"); for (var e = 0; e < d.length; e++) { I = d[e].getAttribute("src") || "";
            I = I.substr(0, I.toLowerCase().indexOf("wdatepicker.js")); var w = I.lastIndexOf("/"); if (w > 0) { I = I.substring(0, w + 1) } if (I) { break } } return I }

    function m(w, I, J) { var d = n[z][H]("HEAD").item(0),
            e = n[z].createElement("link"); if (d) { e.href = w;
            e.rel = "stylesheet";
            e.type = "text/css"; if (I) { e.title = I } if (J) { e.charset = J }
            d.appendChild(e) } }

    function p(I) { I = I || E; var L = 0,
            d = 0; while (I != E) { var N = I.parent[z][H]("iframe"); for (var J = 0; J < N.length; J++) { try { if (N[J].contentWindow == I) { var K = o(N[J]);
                        L += K.left;
                        d += K.top; break } } catch (M) {} }
            I = I.parent } return { leftM: L, topM: d } }

    function o(I, w) { if (I.getBoundingClientRect) { return I.getBoundingClientRect() } else { var J = { ROOT_TAG: /^body|html$/i, OP_SCROLL: /^(?:inline|table-row)$/i }; var e = false,
                M = null,
                P = I.offsetTop,
                K = I.offsetLeft,
                d = I.offsetWidth,
                O = I.offsetHeight; var L = I.offsetParent; if (L != I) { while (L) { K += L.offsetLeft;
                    P += L.offsetTop; if (c(L, "position").toLowerCase() == "fixed") { e = true } else { if (L.tagName.toLowerCase() == "body") { M = L.ownerDocument.defaultView } }
                    L = L.offsetParent } }
            L = I.parentNode; while (L.tagName && !J.ROOT_TAG.test(L.tagName)) { if (L.scrollTop || L.scrollLeft) { if (!J.OP_SCROLL.test(r(L))) { if (!D || L.style.overflow !== "visible") { K -= L.scrollLeft;
                            P -= L.scrollTop } } }
                L = L.parentNode } if (!e) { var N = F(M);
                K -= N.left;
                P -= N.top }
            d += K;
            O += P; return { left: K, top: P, right: d, bottom: O } } }

    function x(e) { e = e || E; var J = e[z],
            I = (e.innerWidth) ? e.innerWidth : (J[B] && J[B].clientWidth) ? J[B].clientWidth : J.body.offsetWidth,
            d = (e.innerHeight) ? e.innerHeight : (J[B] && J[B].clientHeight) ? J[B].clientHeight : J.body.offsetHeight; return { width: I, height: d } }

    function F(e) { e = e || E; var J = e[z],
            d = J[B],
            I = J.body;
        J = (d && d.scrollTop != null && (d.scrollTop > I.scrollTop || d.scrollLeft > I.scrollLeft)) ? d : I; return { top: J.scrollTop, left: J.scrollLeft } }

    function s(d) { try { var w = d ? (d.srcElement || d.target) : null; if ($dp.cal && !$dp.eCont && $dp.dd && w != $dp.el && $dp.dd.style.display == "block") { $dp.cal.close() } } catch (d) {} }

    function A() { $dp.status = 2 }
    var G, j;

    function g(M, d) { if (!$dp) { return }
        b(); var J = {}; for (var L in M) { J[L] = M[L] } for (var L in l) { if (L.substring(0, 1) != "$" && J[L] === undefined) { J[L] = l[L] } } if (d) { if (!w()) { j = j || setInterval(function() { if (E[z].readyState == "complete") { clearInterval(j) }
                    g(null, true) }, 50); return } if ($dp.status == 0) { $dp.status = 1;
                J.el = i;
                a(J, true) } else { return } } else { if (J.eCont) { J.eCont = $dp.$(J.eCont);
                J.el = i;
                J.autoPickDate = true;
                J.qsEnabled = false;
                a(J) } else { if (l.$preLoad && $dp.status != 2) { return } var I = N(); if (n.event === I || I) { J.srcEl = I.srcElement || I.target;
                    I.cancelBubble = true }
                J.el = J.el = $dp.$(J.el || J.srcEl); if (J.el == null) { alert("WdatePicker:el is null!\nexample:onclick=\"WdatePicker({el:this})\""); return; } try { if (!J.el || J.el.My97Mark === true || J.el.disabled || ($dp.dd && r($dp.dd) != "none" && $dp.dd.style.left != "-970px")) { if (J.el.My97Mark) { J.el.My97Mark = false } return } } catch (K) {} if (I && J.el.nodeType == 1 && !C(J.el.initcfg, M)) { $dp.unbind(J.el);
                    k(J.el, I.type == "focus" ? "onclick" : "onfocus", function() { g(M) });
                    J.el.initcfg = M }
                a(J) } }

        function w() { if (h && E != n && E[z].readyState != "complete") { return false } return true }

        function N() { if (f) { try { func = N.caller; while (func != null) { var O = func.arguments[0]; if (O && (O + "").indexOf("Event") >= 0) { return O }
                        func = func.caller } } catch (P) {} return null } return event } }

    function c(e, d) { return e.currentStyle ? e.currentStyle[d] : document.defaultView.getComputedStyle(e, false)[d] }

    function r(e, d) { if (e) { if (d != null) { e.style.display = d } else { return c(e, "display") } } }

    function a(e, d) { var K = e.el ? e.el.nodeName : "INPUT"; if (d || e.eCont || new RegExp(/input|textarea|div|span|p|a/ig).test(K)) { e.elProp = K == "INPUT" ? "value" : "innerHTML" } else { return } if (e.lang == "auto") { e.lang = h ? navigator.browserLanguage.toLowerCase() : navigator.language.toLowerCase() } if (!e.eCont) { for (var J in e) { $dp[J] = e[J] } } if (!$dp.dd || e.eCont || ($dp.dd && (e.getRealLang().name != $dp.dd.lang || e.skin != $dp.dd.skin))) { if (e.eCont) { w(e.eCont, e) } else { $dp.dd = E[z].createElement("DIV");
                $dp.dd.style.cssText = "position:absolute";
                E[z].body.appendChild($dp.dd);
                w($dp.dd, e); if (d) { $dp.dd.style.left = $dp.dd.style.top = "-970px" } else { $dp.show();
                    I($dp) } } } else { if ($dp.cal) { $dp.show();
                $dp.cal.init(); if (!$dp.eCont) { I($dp) } } }

        function w(V, P) { var O = E[z].domain,
                S = false,
                M = '<iframe hideFocus=true width=9 height=7 frameborder=0 border=0 scrolling=no src="about:blank"></iframe>';
            V.innerHTML = M; var L = l.$langList,
                U = l.$skinList,
                T; try { T = V.lastChild.contentWindow[z] } catch (Q) { S = true;
                V.removeChild(V.lastChild); var N = E[z].createElement("iframe");
                N.hideFocus = true;
                N.frameBorder = 0;
                N.scrolling = "no";
                N.src = "javascript:(function(){var d=document;d.open();d.domain='" + O + "';})()";
                V.appendChild(N);
                setTimeout(function() { T = V.lastChild.contentWindow[z];
                    R() }, 97); return }
            R();

            function R() { var Y = P.getRealLang();
                V.lang = Y.name;
                V.skin = P.skin; var X = ["<head><script>", "", "var doc=document, $d, $dp, $cfg=doc.cfg, $pdp = parent.$dp, $dt, $tdt, $sdt, $lastInput, $IE=$pdp.ie, $FF = $pdp.ff,$OPERA=$pdp.opera, $ny, $cMark = false;", "if($cfg.eCont){$dp = {};for(var p in $pdp)$dp[p]=$pdp[p];}else{$dp=$pdp;};for(var p in $cfg){$dp[p]=$cfg[p];}", "doc.oncontextmenu=function(){try{$c._fillQS(!$dp.has.d,1);showB($d.qsDivSel);}catch(e){};return false;};", "<\/script><script src=", u, "lang/", Y.name, ".js charset=", Y.charset, "><\/script>"]; if (S) { X[1] = 'document.domain="' + O + '";' } for (var W = 0; W < U.length; W++) { if (U[W].name == P.skin) { X.push('<link rel="stylesheet" type="text/css" href="' + u + "skin/" + U[W].name + '/datepicker.css" charset="' + U[W].charset + '"/>') } }
                X.push('<script src="' + u + 'calendar.js"><\/script>');
                X.push('</head><body leftmargin="0" topmargin="0" tabindex=0></body></html>');
                X.push('<script>var t;t=t||setInterval(function(){if((typeof(doc.ready)=="boolean"&&doc.ready)||doc.readyState=="complete"){new My97DP();$cfg.onload();$c.autoSize();$cfg.setPos($dp);clearInterval(t);}},20);<\/script>');
                P.setPos = I;
                P.onload = A;
                T.write("<html>");
                T.cfg = P;
                T.write(X.join(""));
                T.close() } }

        function I(O) { var M = O.position.left,
                V = O.position.top,
                L = O.el; if (L == i) { return } if (L != O.srcEl && (r(L) == "none" || L.type == "hidden")) { L = O.srcEl } var T = o(L),
                P = p(n),
                U = x(E),
                Q = F(E),
                N = $dp.dd.offsetHeight,
                S = $dp.dd.offsetWidth; if (isNaN(V)) { V = 0 } if ((P.topM + T.bottom + N > U.height) && (P.topM + T.top - N > 0)) { V += Q.top + P.topM + T.top - N - 2 } else { V += Q.top + P.topM + T.bottom; var R = V - Q.top + N - U.height; if (R > 0) { V -= R } } if (isNaN(M)) { M = 0 }
            M += Q.left + Math.min(P.leftM + T.left, U.width - S - 5) - (h ? 2 : 0);
            O.dd.style.top = V + "px";
            O.dd.style.left = M + "px" } }
})();